The foregoing can be summarised as follows:
The image formed by light reflected from an object inter alia depends upon two factors: (a) the intensity of illumination incident upon the object (and hence the intensity of reflected light), and (b) the wavelength(s) of illumination incident upon the object, (more usually identified as the “colour temperature” (T) of the illumination). Factor (b) determines the wavelengths of the reflected light, and therefore the colours in the image formed, while factor (a) determines the brightness of the image.
Clearly therefore, the same object may form different images when viewed by cameras or other image-forming devices, under different intensities, and/or wavelengths of illumination. In the case of daylight these factors (a) and (b) will tend to alter, for example, with the time of day, or season. If artificial light is employed, even greater variations can arise. This represents a problem for any object and/or image analysing and/or recognition system which relies on processing colour signals for analysis from a camera such as the RGB signals from a three sensor camera.
It is possible to allow for variations in intensity of illumination, and various techniques are known and described in the art. As is well known colour can be described mathematically by a three component vector R, G, B. The output of a three sensor camera viewing an object provides these three components, the magnitude of each of which is indicative of the quantity of light reflected by the object at the red, green and blue wavelengths.
Although the nomenclature suggests single wavelength resolution, in fact most camera sensors are responsive to a broad band of wavelengths in each of the red, green and blue regions of the visible spectrum, and such sensors are referred to as broad band sensors. However, cameras have been developed with a very limited response band width to wavelengths in the red, green and blue regions of the spectrum, by utilising in such cameras narrow band sensors, i.e. sensors that only respond to a narrow band of wavelengths in each of three regions of the spectrum.
Under different intensities of light the RGB signal varies in magnitude. Thus if the intensity scales by a factor k, then the camera signal equals (kR, kG, kB). By normalising the RGB vector in relation to intensity, the dependency due to intensity (k), can be removed.
Various techniques exist in the literature for removing k. For instance one may divide the RGB vector by (R+G+B). This results in chromaticity normalisation. Equally, one may divide by the square root of the sum of the squares of the RGB signal i.e. (R2+G2+B2). If R+G+B=1, then B=1−(R+G) (i.e. given R and G it is possible to calculate B, so the third parameter can be written in terms of the other two parameters). In general, any magnitude normalised RGB vector can be encoded by two parameters.
Whilst various such methods are able to remove variations in an image arising from fluctuations in intensity of illumination, it has not generally been possible to correct for variations in colour temperature of the illumination.
One object of the present invention is to provide a method to provide for such colour temperature correction.
It is a further object of the present invention to bridge the gap between the classical colour constancy computation and the invariant approach referred to in the Introduction section.
The invention has an additional object to provide a method of producing from colour corrected (and preferably also intensity corrected) colour image signals, signals which will produce a grey scale image which is substantially the same in terms of grey scale and brightness irrespective of the illumination of the original object producing the image.